package com.taobao.api.domain;

import java.util.Date;
import java.util.List;

import com.taobao.api.TaobaoObject;
import com.taobao.api.internal.mapping.ApiField;
import com.taobao.api.internal.mapping.ApiListField;

/**
 * 视频
 *
 * @author auto create
 * @since 1.0, null
 */
public class VideoItem extends TaobaoObject {

	private static final long serialVersionUID = 7159272352324154354L;

	/**
	 * 视频封面url
	 */
	@ApiField("cover_url")
	private String coverUrl;

	/**
	 * 视频描述
	 */
	@ApiField("description")
	private String description;

	/**
	 * 视频时长
	 */
	@ApiField("duration")
	private Long duration;

	/**
	 * 是否允许他人观看
	 */
	@ApiField("is_open_to_other")
	private Boolean isOpenToOther;

	/**
	 * 视频状态：等待转码（1），转码中（2），转码失败（3），等待审核（4），未通过审核（5），通过审核（6）
	 */
	@ApiField("state")
	private Long state;

	/**
	 * 视频标签
	 */
	@ApiListField("tags")
	@ApiField("string")
	private List<String> tags;

	/**
	 * 视频标题
	 */
	@ApiField("title")
	private String title;

	/**
	 * 视频上传时间
	 */
	@ApiField("upload_time")
	private Date uploadTime;

	/**
	 * 视频上传者数字id
	 */
	@ApiField("uploader_id")
	private Long uploaderId;

	/**
	 * 视频id
	 */
	@ApiField("video_id")
	private Long videoId;

	/**
	 * 视频播放地址
	 */
	@ApiField("video_play_info")
	private VideoPlayInfo videoPlayInfo;

	public String getCoverUrl() {
		return this.coverUrl;
	}
	public void setCoverUrl(String coverUrl) {
		this.coverUrl = coverUrl;
	}

	public String getDescription() {
		return this.description;
	}
	public void setDescription(String description) {
		this.description = description;
	}

	public Long getDuration() {
		return this.duration;
	}
	public void setDuration(Long duration) {
		this.duration = duration;
	}

	public Boolean getIsOpenToOther() {
		return this.isOpenToOther;
	}
	public void setIsOpenToOther(Boolean isOpenToOther) {
		this.isOpenToOther = isOpenToOther;
	}

	public Long getState() {
		return this.state;
	}
	public void setState(Long state) {
		this.state = state;
	}

	public List<String> getTags() {
		return this.tags;
	}
	public void setTags(List<String> tags) {
		this.tags = tags;
	}

	public String getTitle() {
		return this.title;
	}
	public void setTitle(String title) {
		this.title = title;
	}

	public Date getUploadTime() {
		return this.uploadTime;
	}
	public void setUploadTime(Date uploadTime) {
		this.uploadTime = uploadTime;
	}

	public Long getUploaderId() {
		return this.uploaderId;
	}
	public void setUploaderId(Long uploaderId) {
		this.uploaderId = uploaderId;
	}

	public Long getVideoId() {
		return this.videoId;
	}
	public void setVideoId(Long videoId) {
		this.videoId = videoId;
	}

	public VideoPlayInfo getVideoPlayInfo() {
		return this.videoPlayInfo;
	}
	public void setVideoPlayInfo(VideoPlayInfo videoPlayInfo) {
		this.videoPlayInfo = videoPlayInfo;
	}

}
